home *** CD-ROM | disk | FTP | other *** search
/ Mobiclic 124 / MOBICLIC 124.ISO / mac / Milan.swf / scripts / __Packages / prod / hclasses / HOTE_MC.as < prev   
Text File  |  2010-05-11  |  33KB  |  863 lines

  1. class prod.hclasses.HOTE_MC extends MovieClip
  2. {
  3.    var ModeFenetre = "fullScreen";
  4.    function HOTE_MC()
  5.    {
  6.       super();
  7.       trace("HOTE constructeur " + this);
  8.       _global.ChangeModule = mx.utils.Delegate.create(this,this.ChangeModule);
  9.       _global.ImprimerEcran = mx.utils.Delegate.create(this,this.ImprimerEcran);
  10.       _global.chercheSwf = _global.ChangeModule;
  11.       this.tabChildren = false;
  12.       this.Init();
  13.    }
  14.    static function main(target)
  15.    {
  16.       target.__proto__ = prod.hclasses.HOTE_MC.prototype;
  17.       Function(prod.hclasses.HOTE_MC).apply(target,null);
  18.    }
  19.    function Init()
  20.    {
  21.       trace("HOTE.Init()");
  22.       Stage.showMenu = false;
  23.       var _loc2_ = new Object();
  24.       _loc2_.onFullScreen = function(bFull)
  25.       {
  26.          HOTE.ModeFenetre = Stage.displayState;
  27.       };
  28.       Stage.addListener(_loc2_);
  29.       this.FullScreenSet(true);
  30.       trace("localConfigXML " + localConfigXML);
  31.       if(localConfigXML == undefined)
  32.       {
  33.          localConfigXML = "localConfig.xml";
  34.       }
  35.       prod.hclasses.HOTE_MC.ChargerXmlFichier({mcRef:this,fonction:this.RetourLocalConfig,fichier:localConfigXML});
  36.    }
  37.    function RetourLocalConfig(p)
  38.    {
  39.       trace("RetourLocalConfig() ");
  40.       _root.GetLocalConfig({Path:"Config",XmlObj:p.XmlObj});
  41.       _root.LocalConfig.Set({nom:"path",defaut:"DATA/"});
  42.       _root.LocalConfig.Set({nom:"pad_path",defaut:"DATA/PAD/PAD/Pad.swf"});
  43.       _root.LocalConfig.Set({nom:"quality",defaut:"STANDART"});
  44.       _root.LocalConfig.Set({nom:"hote_couleur_fond",defaut:0,type:"number"});
  45.       this.QualitySet(_root.LocalConfig.quality);
  46.       _root.LocalConfig.traceMode = _root.LocalConfig.traceMode != "on" ? (_root.LocalConfig.traceMode = "off") : (_root.LocalConfig.traceMode = "on");
  47.       _root.LocalConfig.pad_show = _root.LocalConfig.pad_show != "no" ? true : false;
  48.       _root.LocalConfig.preload_bar_visible = _root.LocalConfig.preload_bar_visible != "no" ? true : false;
  49.       _root.LocalConfig.preload_movie_visible = _root.LocalConfig.preload_movie_visible != "no" ? true : false;
  50.       if(_root.LocalConfig.traceBox != "on")
  51.       {
  52.          delete _global.TraceBox;
  53.       }
  54.       xtrace_ChangeMode(_root.LocalConfig.traceMode);
  55.       xtrace_raz();
  56.       trace("xtrace " + xtrace_mode);
  57.       _global.gListXMLpath = new Array();
  58.       _global.gListXMLpath[_root.LocalConfig.nextRub] = this.codeRub_To_XmlPath({numMag:_root.LocalConfig.numMag,codeRub:_root.LocalConfig.nextRub,numMod:_root.LocalConfig.numMod,path:_root.LocalConfig.path});
  59.       _global.HOTE = this;
  60.       _global.gPARAMS = [];
  61.       gPARAMS.HOTE_DIR = this.GetFilePath(this._url);
  62.       gPARAMS.MEDIAS_DIR = gPARAMS.HOTE_DIR + "/DATA/HOTE/medias";
  63.       gPARAMS.CURSEURS_DIR = gPARAMS.MEDIAS_DIR + "/curseur";
  64.       gPARAMS.CURSEUR_DEFAUT = gPARAMS.CURSEURS_DIR + "/curseur.swf";
  65.       gPARAMS.PRELOADERS_DIR = gPARAMS.MEDIAS_DIR + "/chargement_animation";
  66.       gPARAMS.PRELOADER_DEFAUT = gPARAMS.PRELOADERS_DIR + "/preloader_defaut.swf";
  67.       gPARAMS.BARRES_DIR = gPARAMS.MEDIAS_DIR + "/chargement_barre";
  68.       gPARAMS.BARRE_DEFAUT = gPARAMS.BARRES_DIR + "/barre.swf";
  69.       gPARAMS.HOTE_WIDTH = 800;
  70.       gPARAMS.HOTE_HEIGHT = 600;
  71.       gPARAMS.HOTE_FOND_COULEUR = _root.LocalConfig.hote_couleur_fond;
  72.       _global.PREMIER_MODULE = 0;
  73.       _global.gLEVELS = [];
  74.       gLEVELS.HOTE_FOND = 1;
  75.       gLEVELS.HOTE_CONTENEUR = 10;
  76.       gLEVELS.HOTE_CACHE = 25000;
  77.       gLEVELS.ClicZap = 26000;
  78.       gLEVELS.TraceBoxAlerte = 40000;
  79.       gLEVELS.preload_bar = 22000;
  80.       gLEVELS.preload_movie = 20000;
  81.       gLEVELS.cursor = 30000;
  82.       gLEVELS.module = 10000;
  83.       gLEVELS.tetiere = 10010;
  84.       gLEVELS.pad = 23000;
  85.       _global.MCs = [];
  86.       _global.gListeVuMod = [0,0,0];
  87.       PREMIER_MODULE = _root.LocalConfig.nextRub;
  88.       _global.gNO_MODULE_EN_COURS = PREMIER_MODULE;
  89.       prod.hclasses.HOTE_MC.ChargerXmlFichier({mcRef:this,fichier:gListXMLpath[gNO_MODULE_EN_COURS],fonction:this.RetourXml});
  90.    }
  91.    function GetLocalConfig(p)
  92.    {
  93.       trace("GetLocalConfig()");
  94.       _root.LocalConfig = new Object();
  95.       _root.LocalConfig.Set = function(p)
  96.       {
  97.          if(_root.LocalConfig[p.nom] == undefined)
  98.          {
  99.             if(p.defaut == "OBLIGATOIRE")
  100.             {
  101.                xtrace({mess:"/!\\ERROR /!\\Param├¿tre du xml obligatoire manquant dans la balise Config: " + p.nom,group:"error"});
  102.             }
  103.             else
  104.             {
  105.                _root.LocalConfig[p.nom] = p.defaut;
  106.             }
  107.          }
  108.          if(p.type == "number")
  109.          {
  110.             _root.LocalConfig[p.nom] = Number(_root.LocalConfig[p.nom]);
  111.          }
  112.       };
  113.       _root.LocalConfig._name = "LocalConfig";
  114.       var _loc2_ = _root.returnNodeByPath(p.Path,p.XmlObj).childNodes;
  115.       for(props in _loc2_)
  116.       {
  117.          _root.LocalConfig[_loc2_[props].attributes.nom] = _loc2_[props].attributes.valeur;
  118.       }
  119.    }
  120.    function RetourXml(par)
  121.    {
  122.       var _loc4_ = this.NodeAttributesToObject(this.returnNodeByPath("Module.Config.Hote",par.XmlObj));
  123.       var _loc5_ = this.NodeAttributesToObject(this.returnNodeByPath("BackOffice.ModuleInfo",par.XmlObj));
  124.       for(props in _loc4_)
  125.       {
  126.          _loc5_[props] = _loc4_[props];
  127.       }
  128.       _global.gMODULE_INFO = _loc5_;
  129.       if(gMODULE_INFO.module_path == undefined)
  130.       {
  131.          if(gListSWFpath[gNO_MODULE_EN_COURS] == undefined)
  132.          {
  133.             gMODULE_INFO.module_path = this.GetFilePath(gListXMLpath[gNO_MODULE_EN_COURS]) + "/" + gMODULE_INFO.src;
  134.          }
  135.          else
  136.          {
  137.             gMODULE_INFO.module_path = gListSWFpath[gNO_MODULE_EN_COURS];
  138.          }
  139.       }
  140.       gMODULE_INFO.module_dir = this.GetFilePath(gMODULE_INFO.module_path);
  141.       gMODULE_INFO.module_adjust_size = gMODULE_INFO.module_adjust_size != undefined ? gMODULE_INFO.module_adjust_size : "yes";
  142.       gMODULE_INFO.module_adjust_size = gMODULE_INFO.module_adjust_size != "yes" ? false : true;
  143.       gMODULE_INFO.module_width = gMODULE_INFO.module_width != undefined ? gMODULE_INFO.module_width : gMODULE_INFO.width;
  144.       gMODULE_INFO.module_height = gMODULE_INFO.module_height != undefined ? gMODULE_INFO.module_height : gMODULE_INFO.height;
  145.       gMODULE_INFO.preload_bar_width = gMODULE_INFO.preload_bar_width != undefined ? gMODULE_INFO.preload_bar_width : 800;
  146.       gMODULE_INFO.preload_bar_height = gMODULE_INFO.preload_bar_height != undefined ? gMODULE_INFO.preload_bar_height : 600;
  147.       if(gMODULE_INFO.preload_bar_visible == undefined)
  148.       {
  149.          gMODULE_INFO.preload_bar_visible = _root.LocalConfig.preload_bar_visible;
  150.       }
  151.       else
  152.       {
  153.          gMODULE_INFO.preload_bar_visible = gMODULE_INFO.preload_bar_visible != "no" ? true : false;
  154.       }
  155.       if(gMODULE_INFO.preload_bar_path == undefined)
  156.       {
  157.          gMODULE_INFO.preload_bar_path = gPARAMS.BARRE_DEFAUT;
  158.       }
  159.       else
  160.       {
  161.          var _loc6_ = gMODULE_INFO.preload_bar_path.split("/");
  162.          switch(_loc6_[0])
  163.          {
  164.             case "DEFAUT":
  165.                gMODULE_INFO.preload_bar_path = gPARAMS.BARRES_DIR + "/" + _loc6_.slice(1).join("/");
  166.                break;
  167.             case "MODULE":
  168.                gMODULE_INFO.preload_bar_path = gMODULE_INFO.module_dir + "/" + _loc6_.slice(1).join("/");
  169.                break;
  170.             case "MODULE_C":
  171.                gMODULE_INFO.preload_bar_path = gMODULE_INFO.module_dir + "/C_" + gMODULE_INFO.id + "/" + _loc6_.slice(1).join("/");
  172.                break;
  173.             case "MEDIAS":
  174.                gMODULE_INFO.preload_bar_path = gPARAMS.MEDIAS_DIR + "/" + _loc6_.slice(1).join("/");
  175.          }
  176.       }
  177.       if(gMODULE_INFO.preload_movie_path == undefined)
  178.       {
  179.          gMODULE_INFO.preload_movie_path = gPARAMS.PRELOADER_DEFAUT;
  180.       }
  181.       else
  182.       {
  183.          _loc6_ = gMODULE_INFO.preload_movie_path.split("/");
  184.          switch(_loc6_[0])
  185.          {
  186.             case "DEFAUT":
  187.                gMODULE_INFO.preload_movie_path = gPARAMS.PRELOADERS_DIR + "/" + _loc6_.slice(1).join("/");
  188.                break;
  189.             case "MODULE":
  190.                gMODULE_INFO.preload_movie_path = gMODULE_INFO.module_dir + "/" + _loc6_.slice(1).join("/");
  191.                break;
  192.             case "MODULE_C":
  193.                gMODULE_INFO.preload_movie_path = gMODULE_INFO.module_dir + "/C_" + gMODULE_INFO.id + "/" + _loc6_.slice(1).join("/");
  194.                break;
  195.             case "MEDIAS":
  196.                gMODULE_INFO.preload_movie_path = gPARAMS.MEDIAS_DIR + "/" + _loc6_.slice(1).join("/");
  197.          }
  198.       }
  199.       gMODULE_INFO.preload_movie_width = gMODULE_INFO.preload_movie_width != undefined ? gMODULE_INFO.preload_movie_width : 800;
  200.       gMODULE_INFO.preload_movie_height = gMODULE_INFO.preload_movie_height != undefined ? gMODULE_INFO.preload_movie_height : 600;
  201.       if(gMODULE_INFO.preload_movie_visible == undefined)
  202.       {
  203.          gMODULE_INFO.preload_movie_visible = _root.LocalConfig.preload_movie_visible;
  204.       }
  205.       else
  206.       {
  207.          gMODULE_INFO.preload_movie_visible = gMODULE_INFO.preload_movie_visible != "no" ? true : false;
  208.       }
  209.       gMODULE_INFO.preload_movie_choose_random = gMODULE_INFO.preload_movie_choose_random != "yes" ? false : true;
  210.       gMODULE_INFO.preload_movie_wait_end = gMODULE_INFO.preload_movie_wait_end != "yes" ? false : true;
  211.       gMODULE_INFO.preload_movie_wait_time = gMODULE_INFO.preload_movie_wait_time != undefined ? Number(gMODULE_INFO.preload_movie_wait_time) : 0;
  212.       gMODULE_INFO.preload_bar_button_quit = gMODULE_INFO.preload_bar_button_quit != "yes" ? false : true;
  213.       gMODULE_INFO.preload_ratio = gMODULE_INFO.preload_ratio != undefined ? Number(gMODULE_INFO.preload_ratio) : 70;
  214.       trace("RETOURXML pad " + gMODULE_INFO.pad_show);
  215.       if(gMODULE_INFO.pad_show == undefined)
  216.       {
  217.          gMODULE_INFO.pad_show = _root.LocalConfig.pad_show;
  218.       }
  219.       else
  220.       {
  221.          gMODULE_INFO.pad_show = gMODULE_INFO.pad_show != "no" ? true : false;
  222.       }
  223.       if(gMODULE_INFO.cursor_path == undefined)
  224.       {
  225.          gMODULE_INFO.cursor_path = gPARAMS.CURSEUR_DEFAUT;
  226.          gMODULE_INFO.cursor_use_flash_arrow = gMODULE_INFO.cursor_use_flash_arrow != "no" ? true : false;
  227.          gMODULE_INFO.cursor_use_flash_finger = gMODULE_INFO.cursor_use_flash_finger != "no" ? true : false;
  228.       }
  229.       else
  230.       {
  231.          _loc6_ = gMODULE_INFO.cursor_path.split("/");
  232.          switch(_loc6_[0])
  233.          {
  234.             case "DEFAUT":
  235.                gMODULE_INFO.cursor_path = gPARAMS.CURSEURS_DIR + "/" + _loc6_.slice(1).join("/");
  236.                break;
  237.             case "MODULE":
  238.                gMODULE_INFO.cursor_path = gMODULE_INFO.module_dir + "/" + _loc6_.slice(1).join("/");
  239.                break;
  240.             case "MODULE_C":
  241.                gMODULE_INFO.cursor_path = gMODULE_INFO.module_dir + "/C_" + gMODULE_INFO.id + "/" + _loc6_.slice(1).join("/");
  242.                break;
  243.             case "MEDIAS":
  244.                gMODULE_INFO.cursor_path = gPARAMS.MEDIAS_DIR + "/" + _loc6_.slice(1).join("/");
  245.          }
  246.          gMODULE_INFO.cursor_use_flash_arrow = gMODULE_INFO.cursor_use_flash_arrow != "yes" ? false : true;
  247.          gMODULE_INFO.cursor_use_flash_finger = gMODULE_INFO.cursor_use_flash_finger != "yes" ? false : true;
  248.       }
  249.       _global.moduleOnline = true;
  250.       _global.gModulePath = gListSRCpath[gNO_MODULE_EN_COURS] != undefined ? gListSRCpath[gNO_MODULE_EN_COURS] : gMODULE_INFO.module_dir + "/";
  251.       _global.gDataPath = _root.LocalConfig.path;
  252.       _global.gRootPath = gPARAMS.HOTE_DIR;
  253.       _global.moduleXmlRoot = gListXMLpath[gNO_MODULE_EN_COURS];
  254.       _global.MODULE_INFO = gMODULE_INFO;
  255.       xtrace("________MODULE INFO____________________");
  256.       xlisteObj(gMODULE_INFO);
  257.       xtrace("_______________________________________");
  258.       _global.HOTE.CONTENEUR = HOTE.createEmptyMovieClip("CONTENEUR",gLEVELS.HOTE_CONTENEUR);
  259.       var _loc16_ = 1;
  260.       if(_global.gMODULE_INFO.module_adjust_size == true)
  261.       {
  262.          _global.HOTE.CONTENEUR._xscale = gMODULE_INFO.module_width * 100 / gPARAMS.HOTE_WIDTH;
  263.          _global.HOTE.CONTENEUR._yscale = gMODULE_INFO.module_height * 100 / gPARAMS.HOTE_HEIGHT;
  264.          _global.HOTE.CONTENEUR._x = gPARAMS.HOTE_WIDTH / 2 - gMODULE_INFO.module_width / 2;
  265.          _global.HOTE.CONTENEUR._y = gPARAMS.HOTE_HEIGHT / 2 - gMODULE_INFO.module_height / 2;
  266.          this.CreerCache({nom:"HOTE_CACHE",mc:HOTE.CONTENEUR,level:gLEVELS.HOTE_CACHE,width:gPARAMS.HOTE_WIDTH,height:gPARAMS.HOTE_HEIGHT});
  267.          HOTE.CONTENEUR._visible = true;
  268.          this.CreerRectangle({pere:this,nom:"FOND_HOTE",level:_global.gLEVELS.HOTE_FOND,couleur:_global.gPARAMS.HOTE_FOND_COULEUR,alpha:100,width:_global.gPARAMS.HOTE_WIDTH,height:_global.gPARAMS.HOTE_HEIGHT});
  269.       }
  270.       if(gMODULE_INFO.pad_show == true)
  271.       {
  272.          this.AddMC({nom_mc:"pad",pere:HOTE.CONTENEUR,mc_path:_root.LocalConfig.pad_path,level:gLEVELS.pad});
  273.       }
  274.       this.AddMC({nom_mc:"preload_movie",pere:HOTE.CONTENEUR,mc_path:gMODULE_INFO.preload_movie_path,level:gLEVELS.preload_movie});
  275.       this.AddMC({nom_mc:"preload_bar",pere:HOTE.CONTENEUR,mc_path:gMODULE_INFO.preload_bar_path,level:gLEVELS.preload_bar});
  276.       if(gPARAMS.Rubriques[_global.gNO_MODULE_EN_COURS].logo != undefined)
  277.       {
  278.          this.AddMC({nom_mc:"tetiere",pere:HOTE.CONTENEUR,mc_path:_root.LocalConfig.path + "LOGOS/TETIERES/tetiere_" + gPARAMS.Rubriques[_global.gNO_MODULE_EN_COURS].logo + ".swf",level:gLEVELS.tetiere});
  279.       }
  280.       this.AddMC({nom_mc:"cursor",pere:HOTE,mc_path:gMODULE_INFO.cursor_path,level:gLEVELS.cursor});
  281.       this.ChargerMCs();
  282.    }
  283.    function AddMC(p)
  284.    {
  285.       MCs[p.nom_mc] = p;
  286.       MCs[p.nom_mc].charge = 0;
  287.       MCs[p.nom_mc].ratio = MCs[p.nom_mc].ratio != undefined ? MCs[p.nom_mc].ratio : 100;
  288.    }
  289.    function ChargerMCs()
  290.    {
  291.       trace("ChargerMCs");
  292.       for(prop in _global.MCs)
  293.       {
  294.          if(_global.MCs[prop].charge == 0)
  295.          {
  296.             this.ChargerMC(MCs[prop]);
  297.          }
  298.       }
  299.    }
  300.    function ChargerMC(p)
  301.    {
  302.       xtrace("___ChargerMC___");
  303.       _global.xlisteObj(p);
  304.       xtrace("________________");
  305.       this.removeMovieClip();
  306.       var _loc5_ = p.pere.createEmptyMovieClip(p.nom_mc,p.level);
  307.       _loc5_._visible = false;
  308.       var _loc4_ = new MovieClipLoader();
  309.       _loc4_.p = p;
  310.       _loc4_.onLoadStart = function(target_mc)
  311.       {
  312.          trace("onLoadStart " + target_mc);
  313.          target_mc._visible = false;
  314.       };
  315.       _loc4_.onLoadError = function(target_mc)
  316.       {
  317.          trace("onLoadError " + target_mc);
  318.          _global.TraceBox.Alerte("/!\\ ERREUR  /!\\\r  probl├¿me avec le chargement du fichier SWF : \r" + this.p.mc_path);
  319.       };
  320.       _loc4_.onLoadProgress = function(target_mc, bytesLoaded, bytesTotal)
  321.       {
  322.          if(this.p.nom_mc == "module")
  323.          {
  324.             _global.HOTE.LoadingProgress(Math.round(bytesLoaded / bytesTotal * 100 * (this.p.ratio / 100)));
  325.          }
  326.          target_mc._visible = false;
  327.       };
  328.       _loc4_.onLoadInit = function(target_mc)
  329.       {
  330.          trace("onLoadInit " + target_mc);
  331.          _global.xtrace_ChangeMode(_root.LocalConfig.traceMode);
  332.          xtrace("YOOOOOOO");
  333.          target_mc.p = this.p;
  334.          trace(target_mc._name + ".Init() :" + target_mc.Init);
  335.          if(target_mc.Init == undefined)
  336.          {
  337.             target_mc.Init = function()
  338.             {
  339.                HOTE.InitFin(target_mc);
  340.             };
  341.          }
  342.          target_mc.Init();
  343.       };
  344.       _loc4_.loadClip(p.mc_path,_loc5_);
  345.    }
  346.    function LoadingProgress(pourcent)
  347.    {
  348.       _global.MCs.preload_bar.mc.onLoading(pourcent);
  349.       _global.MCs.preload_movie.mc.BARRE_CHARGEMENT.gotoAndStop(pourcent);
  350.    }
  351.    function InitFin(mc)
  352.    {
  353.       trace("INITFIN " + mc);
  354.       _global.MCs[mc._name].charge = 1;
  355.       _global.MCs[mc._name].mc = mc;
  356.       if(mc.p.retour != undefined)
  357.       {
  358.          mc.p.retour.call(HOTE,{mc:mc});
  359.          return undefined;
  360.       }
  361.       var _loc3_ = true;
  362.       for(prop in _global.MCs)
  363.       {
  364.          if(_global.MCs[prop].charge == 0)
  365.          {
  366.             _loc3_ = false;
  367.             break;
  368.          }
  369.       }
  370.       if(_loc3_ == false)
  371.       {
  372.          return undefined;
  373.       }
  374.       this.ToutFini();
  375.    }
  376.    function ToutFini()
  377.    {
  378.       trace("TOUT_FINI()");
  379.       MCs.cursor.mc.__proto__ = prod.hclasses.Curseur.prototype;
  380.       MCs.cursor.mc.CurseurFlecheFlash = gMODULE_INFO.cursor_use_flash_arrow;
  381.       MCs.cursor.mc.CurseurDoigtFlash = gMODULE_INFO.cursor_use_flash_finger;
  382.       MCs.cursor.mc.Initialise();
  383.       if(gMODULE_INFO.preload_movie_visible == true)
  384.       {
  385.          if(MCs.preload_movie.mc.Largeur != undefined)
  386.          {
  387.             var _loc3_ = Number(MCs.preload_movie.mc.Largeur);
  388.             var _loc4_ = Number(MCs.preload_movie.mc.Hauteur);
  389.          }
  390.          else
  391.          {
  392.             _loc3_ = Number(gMODULE_INFO.preload_movie_width);
  393.             _loc4_ = Number(gMODULE_INFO.preload_movie_height);
  394.          }
  395.          MCs.preload_movie.mc._xscale = gPARAMS.HOTE_WIDTH * 100 / _loc3_;
  396.          MCs.preload_movie.mc._yscale = gPARAMS.HOTE_HEIGHT * 100 / _loc4_;
  397.          if(gMODULE_INFO.preload_movie_choose_random == true)
  398.          {
  399.             var _loc2_ = "L_" + this.gimme2digits(this.randomValue(1,MCs.preload_movie.mc.NombreAnimations));
  400.          }
  401.          else
  402.          {
  403.             _loc2_ = 2;
  404.          }
  405.          MCs.preload_movie.mc.gotoAndPlay(_loc2_);
  406.          MCs.preload_movie.mc._visible = true;
  407.       }
  408.       trace("gMODULE_INFO[\'preload_bar_visible\']__________________________________" + gMODULE_INFO.preload_bar_visible);
  409.       if(gMODULE_INFO.preload_bar_visible == true)
  410.       {
  411.          if(MCs.preload_bar.mc.Largeur != undefined)
  412.          {
  413.             _loc3_ = Number(MCs.preload_bar.mc.Largeur);
  414.             _loc4_ = Number(MCs.preload_bar.mc.Hauteur);
  415.          }
  416.          else
  417.          {
  418.             _loc3_ = Number(gMODULE_INFO.preload_bar_width);
  419.             _loc4_ = Number(gMODULE_INFO.preload_bar_height);
  420.          }
  421.          MCs.preload_bar.mc._xscale = gPARAMS.HOTE_WIDTH * 100 / _loc3_;
  422.          MCs.preload_bar.mc._yscale = gPARAMS.HOTE_HEIGHT * 100 / _loc4_;
  423.          MCs.preload_bar.mc._visible = gMODULE_INFO.preload_bar_visible;
  424.       }
  425.       this.AddMC({nom_mc:"module",ratio:gMODULE_INFO.preload_ratio,pere:HOTE.CONTENEUR,mc_path:gMODULE_INFO.module_path,level:gLEVELS.module,retour:this.ModuleFin,AdjustSize:true});
  426.       this.ChargerMCs();
  427.    }
  428.    function ModuleFin(p)
  429.    {
  430.       trace("MODULEFIN() " + p.mc);
  431.       _global.gMODULE_INFO.MODULE_MC = p.mc;
  432.       _global.gMODULE_INFO.PARAMS_EMETTEUR = gPARAMS_MODULE_EMETTEUR;
  433.       _global.xtrace_ChangeMode(_root.LocalConfig.traceMode);
  434.       var _loc4_ = Number(_global.gMODULE_INFO.module_width);
  435.       var _loc5_ = Number(_global.gMODULE_INFO.module_height);
  436.       if(_global.gMODULE_INFO.module_adjust_size == true)
  437.       {
  438.          p.mc._xscale = gPARAMS.HOTE_WIDTH * 100 / _loc4_;
  439.          p.mc._yscale = gPARAMS.HOTE_HEIGHT * 100 / _loc5_;
  440.       }
  441.       else
  442.       {
  443.          p.mc._xscale = gPARAMS.HOTE_WIDTH * 100 / _loc4_;
  444.          p.mc._yscale = gPARAMS.HOTE_HEIGHT * 100 / _loc5_;
  445.       }
  446.       _global.HOTE.LoadingProgress(100);
  447.    }
  448.    function quit()
  449.    {
  450.       xtrace("QUIT()");
  451.       if(gMODULE_INFO.preload_movie_wait_time != 0)
  452.       {
  453.          xtrace("attente de " + gMODULE_INFO.preload_movie_wait_time + " secondes avant lancement");
  454.          this.WaitTimeFunc = function()
  455.          {
  456.             xtrace("fin attente");
  457.             clearInterval(this.WAIT_TIME_ID);
  458.             gMODULE_INFO.preload_movie_wait_time = 0;
  459.             this.quit();
  460.          };
  461.          this.WAIT_TIME_ID = setInterval(this,"WaitTimeFunc",gMODULE_INFO.preload_movie_wait_time * 1000);
  462.          return undefined;
  463.       }
  464.       if(gMODULE_INFO.preload_movie_wait_end == true)
  465.       {
  466.          this.RequeteFin = function(mc_preloader)
  467.          {
  468.             gMODULE_INFO.preload_movie_wait_end = false;
  469.             this.quit();
  470.          };
  471.          return undefined;
  472.       }
  473.       this.QualitySet(this.QUALITY);
  474.       MCs.preload_movie.mc._visible = false;
  475.       MCs.preload_bar.mc._visible = false;
  476.       MCs.preload_movie.mc.stop();
  477.       MCs.preload_bar.mc.stop();
  478.       MCs.preload_movie.mc.stopAllSounds();
  479.       MCs.preload_bar.mc.stopAllSounds();
  480.       MCs.preload_bar.mc.Reset();
  481.       this.removeMovieClip();
  482.       this.removeMovieClip();
  483.       trace("+++++ TETIERE +++ " + MCs.tetiere.mc + " x: " + MCs.tetiere.mc._x + " y: " + MCs.tetiere.mc._y);
  484.       MCs.tetiere.mc._xscale *= Number(_root.LocalConfig.TetieresScale);
  485.       MCs.tetiere.mc._yscale *= Number(_root.LocalConfig.TetieresScale);
  486.       if(_root.LocalConfig.TetieresBottomAlign == "y")
  487.       {
  488.          MCs.tetiere.mc._y = Number(_root.LocalConfig.TetieresPosY) - MCs.tetiere.mc._height;
  489.       }
  490.       else
  491.       {
  492.          MCs.tetiere.mc._y = Number(_root.LocalConfig.TetieresPosY);
  493.       }
  494.       MCs.tetiere.mc._x = Number(_root.LocalConfig.TetieresPosX);
  495.       _global.ChangeModule = mx.utils.Delegate.create(this,this.ChangeModule);
  496.       MCs.module.mc.ImprimerMC = function(p)
  497.       {
  498.          p.mc = this;
  499.          _global.HOTE.ImprimerMC(p);
  500.       };
  501.       _global.SousTitresOn = _global.SousTitresOn != undefined ? _global.SousTitresOn : false;
  502.       if(_global.SousTitresOn == true)
  503.       {
  504.          MCs.module.mc.gSousTitre = 1;
  505.          MCs.module.mc.gST = 1;
  506.       }
  507.       else
  508.       {
  509.          MCs.module.mc.gSousTitre = 0;
  510.          MCs.module.mc.gST = 0;
  511.       }
  512.       if(_root.LocalConfig.VolumeGeneral != undefined)
  513.       {
  514.          trace("_root.LocalConfig[\"VolumeGeneral\"] : " + _root.LocalConfig.VolumeGeneral);
  515.          MCs.module.mc.gVolume = Number(_root.LocalConfig.VolumeGeneral);
  516.       }
  517.       _global.ModuleMusicOn = _global.ModuleMusicOn != undefined ? _global.ModuleMusicOn : true;
  518.       if(_global.ModuleMusicOn == true)
  519.       {
  520.          MCs.module.mc.changeMusicOn(1);
  521.       }
  522.       else
  523.       {
  524.          MCs.module.mc.changeMusicOn(0);
  525.       }
  526.       trace("PAD" + gMODULE_INFO.pad_show);
  527.       if(gMODULE_INFO.pad_show == true)
  528.       {
  529.          MCs.pad.mc._visible = true;
  530.       }
  531.       else
  532.       {
  533.          MCs.pad.mc._visible = false;
  534.       }
  535.       MENU._visible = true;
  536.       MCs.module.mc._visible = true;
  537.       MCs.tetiere.mc._visible = true;
  538.       if(_global.gMODULE_INFO.PARAMS_EMETTEUR.A_GoLabel == undefined)
  539.       {
  540.          xtrace("lancement du module par sa fonction Start()");
  541.          MCs.module.mc.Start();
  542.       }
  543.       else
  544.       {
  545.          xtrace("lancement du module ? la frame " + _global.gMODULE_INFO.PARAMS_EMETTEUR.A_GoLabel);
  546.          MCs.module.mc.gotoAndPlay(_global.gMODULE_INFO.PARAMS_EMETTEUR.A_GoLabel);
  547.       }
  548.       xtrace("_________________________________");
  549.       xtrace("Fin d\'initialisation par l\'Hote.");
  550.       xtrace("La main est au module");
  551.       xtrace("_________________________________");
  552.       xtrace("");
  553.    }
  554.    function ChangeModule(p)
  555.    {
  556.       trace("ChangeModule " + this);
  557.       xlisteObj(p);
  558.       var _loc7_ = typeof p != "object" ? p : p.numMod;
  559.       var _loc4_ = _global.MCs.module.mc;
  560.       if(_loc4_ !== undefined)
  561.       {
  562.          p.FROM = {};
  563.          p.FROM.Type = "module";
  564.          p.FROM.No = _loc4_.gModuleNumber;
  565.          p.FROM.Name = _loc4_.gModuleName;
  566.          p.FROM.Rub = _loc4_.gModuleName.splice(0,3);
  567.          _loc4_.StopAll();
  568.          _loc4_._visible = false;
  569.          _loc4_.stop();
  570.          _loc4_.changeMusicOn(0);
  571.          if(_loc4_.gCommentOn !== undefined)
  572.          {
  573.             trace("comment detect?");
  574.             stopComment();
  575.          }
  576.          if(_loc4_.gListeBruitage !== undefined)
  577.          {
  578.             i = 0;
  579.             while(i < _loc4_.gListeBruitage.length)
  580.             {
  581.                _loc4_.soundObjects[_loc4_.gBruitageName + _loc4_.gListeBruitage[i]].stop();
  582.                i++;
  583.             }
  584.          }
  585.          _loc4_.soundObjects[_loc4_.gMusic].stop();
  586.          CURSEUR.Action("fleche");
  587.       }
  588.       _global.gListXMLpath[p.codeRub] = this.codeRub_To_XmlPath({numMag:_root.LocalConfig.numMag,codeRub:p.codeRub,numMod:p.numMod,path:_root.LocalConfig.path});
  589.       _global.gNO_MODULE_EN_COURS = p.codeRub;
  590.       _global.gPARAMS_MODULE_EMETTEUR = p;
  591.       prod.hclasses.HOTE_MC.ChargerXmlFichier({mcRef:this,fichier:_global.gListXMLpath[_global.gNO_MODULE_EN_COURS],fonction:this.RetourXml});
  592.    }
  593.    function ToutStop(mc)
  594.    {
  595.       mc.stop();
  596.       for(cemc in mc)
  597.       {
  598.          if(typeof mc[cemc] == "movieclip")
  599.          {
  600.             mc[cemc].stop();
  601.             this.ToutStop(mc[cemc]);
  602.          }
  603.       }
  604.    }
  605.    function RequeteFin(mc_preloader)
  606.    {
  607.    }
  608.    function Quitter()
  609.    {
  610.       fscommand("quit");
  611.    }
  612.    function QualitySet(mode)
  613.    {
  614.       trace("QualitySet " + mode);
  615.       this.QUALITY = mode;
  616.       switch(mode)
  617.       {
  618.          case "BAS":
  619.             this._quality = "LOW";
  620.             break;
  621.          case "MOYEN":
  622.             this._quality = "MEDIUM";
  623.             break;
  624.          case "STANDART":
  625.             this._quality = "HIGH";
  626.             break;
  627.          case "EXCELLENT":
  628.             this._quality = "BEST";
  629.       }
  630.    }
  631.    function FullScreen(p)
  632.    {
  633.       this.FULLSCREEN = this.FULLSCREEN != true ? true : false;
  634.       this.FullScreenSet(this.FULLSCREEN);
  635.    }
  636.    function FullScreenSet(etat)
  637.    {
  638.       Stage.displayState = "fullScreen";
  639.       if(this.ModeFenetre == "normal")
  640.       {
  641.          etat = !etat;
  642.       }
  643.       this.FULLSCREEN = etat;
  644.       if(etat == false)
  645.       {
  646.          Stage.scaleMode = "noScale";
  647.       }
  648.       else
  649.       {
  650.          Stage.scaleMode = "showAll";
  651.       }
  652.       this.ModeFenetre = Stage.displayState;
  653.    }
  654.    function FullScreenOn()
  655.    {
  656.       this.FullScreenSet(true);
  657.    }
  658.    function FullScreenOff()
  659.    {
  660.       this.FullScreenSet(false);
  661.    }
  662.    static function ChargerXmlFichier(p)
  663.    {
  664.       trace("ChargerXmlFichier()");
  665.       xlisteObj(p);
  666.       var XmlObj = new XML();
  667.       var params = new Object();
  668.       XmlObj.ignoreWhite = true;
  669.       XmlObj.onLoad = function(success)
  670.       {
  671.          if(success)
  672.          {
  673.             if(p.fonction != undefined)
  674.             {
  675.                var _loc2_ = p.fonction;
  676.                params.XmlObj = XmlObj;
  677.                _loc2_.call(p.mcRef,params);
  678.             }
  679.          }
  680.          else
  681.          {
  682.             _global.TraceBox.Alerte("/!\\ ERREUR  /!\\\r  probl├¿me avec le chargement du fichier XML : \r" + p.fichier);
  683.          }
  684.       };
  685.       XmlObj.load(p.fichier);
  686.    }
  687.    function codeRub_To_XmlPath(p)
  688.    {
  689.       var _loc3_ = p.path + p.codeRub + p.numMag + "/" + p.codeRub + p.numMag + "_" + this.gimme2digits(p.numMod) + "/XML_" + p.codeRub + p.numMag + "_" + this.gimme2digits(p.numMod) + ".xml";
  690.       return _loc3_;
  691.    }
  692.    function returnNodeByPath(nodePath, XmlObj)
  693.    {
  694.       var _loc4_ = nodePath.split(".");
  695.       var _loc3_ = XmlObj.firstChild;
  696.       var _loc2_ = 0;
  697.       while(_loc2_ < _loc4_.length)
  698.       {
  699.          _loc3_ = this.getbyNodename(_loc4_[_loc2_],_loc3_);
  700.          _loc2_ = _loc2_ + 1;
  701.       }
  702.       return _loc3_;
  703.    }
  704.    function getbyNodename(nodeName, XMLBlock)
  705.    {
  706.       var _loc1_ = 0;
  707.       while(_loc1_ < XMLBlock.childNodes.length)
  708.       {
  709.          if(XMLBlock.childNodes[_loc1_].nodeName == nodeName)
  710.          {
  711.             return XMLBlock.childNodes[_loc1_].cloneNode(true);
  712.          }
  713.          _loc1_ = _loc1_ + 1;
  714.       }
  715.       return undefined;
  716.    }
  717.    function NodeAttributesToObject(Node)
  718.    {
  719.       var _loc2_ = new Object();
  720.       for(props in Node.attributes)
  721.       {
  722.          _loc2_[props] = Node.attributes[props];
  723.       }
  724.       return _loc2_;
  725.    }
  726.    function CreerCache(p)
  727.    {
  728.       trace("CreerCache");
  729.       var _loc1_ = p.mc.createEmptyMovieClip(p.nom,p.level);
  730.       _loc1_.beginFill(65280,50);
  731.       _loc1_.moveTo(0,0);
  732.       _loc1_.lineTo(p.width,0);
  733.       _loc1_.lineTo(p.width,p.height);
  734.       _loc1_.lineTo(0,p.height);
  735.       _loc1_.lineTo(0,0);
  736.       _loc1_.endFill();
  737.       p.mc.setMask(_loc1_);
  738.       return _loc1_;
  739.    }
  740.    function CreerRectangle(p)
  741.    {
  742.       var _loc1_ = p.pere.createEmptyMovieClip(p.nom,p.level);
  743.       _loc1_.beginFill(p.couleur,p.alpha);
  744.       _loc1_.moveTo(0,0);
  745.       _loc1_.lineTo(p.width,0);
  746.       _loc1_.lineTo(p.width,p.height);
  747.       _loc1_.lineTo(0,p.height);
  748.       _loc1_.lineTo(0,0);
  749.       _loc1_.endFill();
  750.       return _loc1_;
  751.    }
  752.    function gimme2digits(X)
  753.    {
  754.       if(Number(X) < 10)
  755.       {
  756.          lX = "0" + Number(X);
  757.       }
  758.       else
  759.       {
  760.          lX = String(X);
  761.       }
  762.       return lX;
  763.    }
  764.    function GetFilePath(fichier)
  765.    {
  766.       var _loc3_ = this.AntiSlashToSlash(fichier);
  767.       var _loc2_ = _loc3_.split("/");
  768.       _loc2_.pop();
  769.       return _loc2_.join("/");
  770.    }
  771.    function AntiSlashToSlash(chaine)
  772.    {
  773.       return this.str_replace(chaine,"\\","/");
  774.    }
  775.    function str_replace(str, search, replace)
  776.    {
  777.       return str.split(search).join(replace);
  778.    }
  779.    function randomValue(min, max)
  780.    {
  781.       var _loc1_ = Math.floor(Math.random() * (max - min + 1)) + min;
  782.       return _loc1_;
  783.    }
  784.    function ImprimerEcran(p)
  785.    {
  786.       var _loc4_ = new PrintJob();
  787.       var _loc17_ = 1;
  788.       if(p.Pages != undefined)
  789.       {
  790.          _loc17_ = p.Pages.length;
  791.          var _loc6_ = 0;
  792.          while(_loc6_ < _loc17_)
  793.          {
  794.             p.Pages[_loc6_]._visible = false;
  795.             _loc6_ = _loc6_ + 1;
  796.          }
  797.       }
  798.       var _loc3_ = this.CONTENEUR;
  799.       var _loc30_ = _global.gPARAMS.HOTE_WIDTH;
  800.       var _loc31_ = _global.gPARAMS.HOTE_HEIGHT;
  801.       if(_loc4_.start())
  802.       {
  803.          MCs.pad.mc._visible = false;
  804.          MCs.tetiere.mc._visible = false;
  805.          this.CreerRectangle({pere:this,nom:"FOND_IMPRESSION",level:2,couleur:16777215,alpha:100,width:_global.gPARAMS.HOTE_WIDTH + 50000,height:_global.gPARAMS.HOTE_HEIGHT + 50000});
  806.          this.FOND_IMPRESSION._x = -25000;
  807.          this.FOND_IMPRESSION._y = -25000;
  808.          var _loc23_ = _loc4_.orientation;
  809.          p.Pages[0]._parent._visible = true;
  810.          _loc6_ = 0;
  811.          while(_loc6_ < _loc17_)
  812.          {
  813.             p.Pages[_loc6_]._visible = true;
  814.             var _loc8_ = 100 * (_loc4_.pageHeight / 800);
  815.             var _loc7_ = 100 * (_loc4_.pageWidth / 600);
  816.             if(_loc8_ >= _loc7_)
  817.             {
  818.                var _loc5_ = _loc7_;
  819.             }
  820.             else
  821.             {
  822.                _loc5_ = _loc8_;
  823.             }
  824.             var _loc16_ = _loc3_._xscale;
  825.             var _loc15_ = _loc3_._yscale;
  826.             var _loc13_ = _loc3_._x;
  827.             var _loc14_ = _loc3_._y;
  828.             var _loc12_ = _loc3_._rotation;
  829.             _loc3_._xscale = _loc5_;
  830.             _loc3_._yscale = _loc5_;
  831.             _loc3_.realW = 800 * _loc5_ / 100;
  832.             _loc3_.realH = 600 * _loc5_ / 100;
  833.             if(_loc23_ == "portrait")
  834.             {
  835.                _loc3_._rotation += 90;
  836.             }
  837.             var _loc9_ = Math.abs((_loc4_.pageWidth - _loc3_.realH) / 2);
  838.             var _loc10_ = Math.abs((_loc4_.pageHeight - _loc3_.realW) / 2);
  839.             _loc4_.addPage(this,{xMin:- _loc3_.realH - _loc9_,xMax:0 + _loc9_,yMin:- _loc10_,yMax:_loc3_.realW + _loc10_},{printAsBitmap:true});
  840.             _loc3_._rotation = _loc12_;
  841.             _loc3_._xscale = _loc16_;
  842.             _loc3_._yscale = _loc15_;
  843.             _loc3_._x = _loc13_;
  844.             _loc3_._y = _loc14_;
  845.             p.Pages[_loc6_]._visible = false;
  846.             _loc6_ = _loc6_ + 1;
  847.          }
  848.          _loc4_.send();
  849.          if(p.Pages[0]._parent != _loc3_)
  850.          {
  851.             p.Pages[0]._parent._visible = false;
  852.          }
  853.          this.FOND_IMPRESSION.removeMovieClip();
  854.          MCs.pad.mc._visible = true;
  855.          MCs.tetiere.mc._visible = true;
  856.          false;
  857.          return true;
  858.       }
  859.       false;
  860.       return false;
  861.    }
  862. }
  863.